package com.company.sendemo.basics.acConditionalBranching.operator;

public class Three_Equals_Test {
    public static void main(String args[]){
        //字符串存储在常量池，常量池在方法区中
        String AA = "森！！仔";
        String BB = "森！！仔";
        int q = 5,w = 5;
//        if (AA == BB) {
//            System.out.println(AA == BB);
//            System.out.println(q == w);
//        }
//        System.out.println(AA.equals(BB));
        //TODO equals 不能比较基本数据类型

        String z = "森！！仔";
        String s = new String();
        s = "森！！仔";  //TODO 这里不一样哦   s   相当于   String s = "森！！仔";
        String h = new String("森！！仔");  //new后的对象存储在堆
        int f = 5;
        Integer ff = 5;
//        System.out.println(h == z);
//        System.out.println(s == z);
//        System.out.println(h == s);
//
//        System.out.println(h.equals(z));
//        System.out.println(h.equals(s));
//
//        System.out.println((f == ff) + "  int 和 Integer == 比较");  //自动拆装箱
//        System.out.println(ff.equals(f)+" int 和 Integer equals 比较");

//        String a = new String("森！！仔");
//        String b = new String("森！！仔");
//        String c = a,d = a;
//        Integer o = 5,t = 5;
//        System.out.println(d == c);  //引用的是同一地址值
//        System.out.println(a == b);
//        System.out.println(a.equals(b));
//        System.out.println(o == t);
//        System.out.println(o.equals(t));

        String aa = null;
        String bb = "";
        System.out.println(aa == bb);
        try {
            System.out.println(aa.equals(bb));
        }catch (Exception e) {
            e.printStackTrace();
            if(aa == null && aa.equals("")){
                System.out.println("通常判断数据是否为 “” 或 null 可以这样");
            }
        }

        int l = 5;
        Integer ll = 5;
//        System.out.println(l == ll);
//        System.out.println(ll.equals(l));
    }
}
